#輸出使用 while 和 for...in 两个循环分别输出四种九九乘法表效果(共计 8 个)

#＃第一部分 while 迴圈＃＃
#第一個乘法表
#1.令n*i=(n*i)
#2.打印出完整的乘法表(從1*1開始）
#3.去除n>i部分
#4.調整格式

n=1
i=1
while i<10:
    while n<10:
        print('{}*{}={:<3}'.format(n,i,n*i),end=' ') #調整格式對齊
        n=n+1
        if i<n: #i<n停止列印
            break
    print('') #換行
    i+=1
    n=1
print('='*65)

#第二個乘法表
#將第一個乘法表的i從9倒數回去
n=1
i=9
while i>0:
    while n<10:
        print('{}*{}={:<3}'.format(n,i,n*i),end=' ')
        n=n+1
        if i<n:
            break
    print('')
    i-=1
    n=1
print('='*65)

#第三個乘法表
#1.令n*i=(n*i)
#2.打印出完整的乘法表(從9*1開始）
#3.去除n>i部分，透過iF若n>i,印出相對印格數
#4.調整格式
n=9
i=1
while i<10:
    while n>0:
        if n>i:
            print(" " * 7, end=' ') #iF若n>i,印出相對印格數
        else:
            print('{}*{}={:<3}'.format(n, i, n * i), end=' ')
        n = n - 1
    print('')
    i+=1
    n=9
print('=' * 65)
#第四個乘法表
#修改第三個乘法表將i重9往回數
n=9
i=9
while i>0:
    while n>0:
        if n>i:
            print(" " * 7, end=' ')
        else:
            print('{}*{}={:<3}'.format(n, i, n * i), end=' ')
        n = n - 1
    print('')
    i-=1 #需要往回數故使用減
    n=9

print('='*100)
#＃使用for in 實現＃＃
#第五個乘法表
#1.令n*i=(n*i)  起始點n,i=1（最左上）
#2.打印一個完整的乘法表（i in range(1,10),n in range(1,10))
#3.n>i不打印，也意味n的range改為(1,i+1)
for i in range(1,10):
    for n in range(1,i+1):
        print('{}*{}={:<3}'.format(n,i,n*i),end=' ')
    print(' ')
print('=' * 100)

#第六個乘法表
#講第五個乘法表的i從9打應回去
for i in range(9,0,-1): #從9打印回1
    for n in range(1,i+1):
        print('{}*{}={:<3}'.format(n,i,n*i),end=' ')
    print(' ')
print('=' * 100)

#第七個乘法表
#1.令n*i=(n*i) 起始點n=9,i=1
#2.打印出一個完整的乘法表（i in range(1,10),n in range(9,0,-1))
#3.如果n>i 打印空白，n<i 打印列表，故可以調整格式向右靠
for i in range(1,10):
    for n in range(9,0,-1):
        if n>i:
            print(' '*7,end=' ')
        else:
            print('{}*{}={:<3}'.format(n,i,n*i),end=' ')
    print(' ')
print('=' * 100)
#第八個乘法表
#將第七個乘法表i從9往回打印
for i in range(9,0,-1):
    for n in range(9,0,-1):
        if n>i:
            print(' '*7,end=' ')
        else:
            print('{}*{}={:<3}'.format(n, i, n * i), end=' ')
    print(' ')